package com.gxks.lhs.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxks.lhs.entity.Report;

/**
 * <p>
 * 举报表 服务类
 * </p>
 *
 * @author LuoHaisong
 * @since 2023-05-18
 */
public interface IReportService extends IService<Report> {
    /**
     * 查询所有的举报信息
     *
     * @return 所有的举报信息的列表
     */
    Page<Report> findAllReports(Integer current, Integer size);

    /**
     * 根据条件查询举报信息
     *
     * @return 查询到的举报信息的列表
     */
    Page<Report> findReport(Report report, Integer current, Integer size);

    /**
     * 处理一次举报
     *
     * @param id           举报id
     * @param status       处理后的状态
     * @param reportResult 处理后的结果
     * @return
     */
    boolean handlingReport(String id, Integer status, String adminId, String reportResult);

    /**
     * 根据举报者id查询举报列表
     */
    Page<Report> findReportByReporterId(Integer reporterId, Integer current, Integer size);

    /**
     * 新增举报
     */
    boolean addReport(Report report);

    /**
     * 根据id删除举报
     */
    boolean deleteReport(Integer id);

    /**
     * 修改举报信息
     */
    boolean updateReport(Report report);

}
